
//race就是竞赛的意思，只要某一个promise对象,先改变了状态，那就返回这个状态
Promise.race(promise1, promise2)
//思路就是循环遍历每一项，然后看谁能先返回状体，自然就会去触发相应then里成功的回调或者失败的回调
function race() {
  let args = Array.from(arguments)
  for (let item of args) {
    if (item)
  }
  return new Promise((resolve, reject) => {

  })
}

//写race-10:20-10:31
//思路就是race故名思意就是一个竞赛，看谁先返回状态。所返回的promise就是什么状态，通过调用相应的resolve，reject
//

function race(arr) {
  return new Promise((resolve, reject) => {

    for (let item of arr) {
      if (item instanceof Promise) {
        item.then((value) =>
          resolve(value)//由于这个race还是会在之后调用这个then，所以还要把成功的值，和失败的值都拿到
          , (reason) =>
            reject(reason)
        )
      } else {
        return resolve(item)//对待非promise对象直接当作成功状态处理。
      }
    }
  })

}

race([promise1, promise2]).then()